Public Member Functions | |
| RessourceAutomation () | |
| deleteUser ($userID) | |
| deleteUserFromCourse ($userID, $courseID) | |
| newCourse ($courseID) | |
| deleteCourse ($courseID) | |
Definition at line 35 of file class.ressourceautomation.inc.php.
| RessourceAutomation::deleteCourse | ( | $ | courseID | ) |
Löscht alle Dateien und Ordner, die für den Kurs hochgeladen bzw. erstellt wurden und die Einstellungen zu diesen Dateien/Ordnern
public
| int | $courseID - Kurs-ID |
Definition at line 163 of file class.ressourceautomation.inc.php.
References $db.
00163 { 00164 global $db, $settings, $EZSQL_ERROR; 00165 $filelinks = $db->get_col("SELECT link FROM filelist WHERE type='file' AND courseID=$courseID"); 00166 $fileIDs = $db->get_col("SELECT fileID FROM filelist WHERE courseID=$courseID"); 00167 $dir = PATH_TO_ROOT.$settings["upload_path"]."filemanager/courseID/$courseID/"; 00168 $erfolg = true; 00169 if (count($filelinks)) { 00170 $filesDeleted = 0; 00171 foreach($filelinks as $file) { 00172 if (file_exists($dir.$file)) { 00173 if (!unlink($dir.$file)) { 00174 $erfolg = false; 00175 $this->error("Fehler beim Löschen der Datei $dir$file."); 00176 } else { 00177 $filesDeleted++; 00178 } 00179 } else { 00180 $erfolg = false; 00181 $this->error("Datei $dir$file nicht gefunden."); 00182 } 00183 } 00184 $this->writeToLogfile($filesDeleted." Datei(en) gelöscht."); 00185 if (file_exists($dir)) rmdir($dir); 00186 } 00187 $errorCount = count($EZSQL_ERROR); 00188 $db->query("DELETE FROM filelist WHERE courseID=$courseID"); 00189 if (count($EZSQL_ERROR) > $errorCount) { 00190 $this->error("Fehler beim Löschen der Einträge aus der Datenbank:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00191 $erfolg = false; 00192 } else { 00193 $this->writeToLogfile($db->rows_affected." Einträge aus der Datenbank gelöscht."); 00194 } 00195 if (is_array($fileIDs)) { 00196 $errorCount = count($EZSQL_ERROR); 00197 $db->query("DELETE FROM filelog WHERE fileID IN (".implode(",", $fileIDs) .")"); 00198 if (count($EZSQL_ERROR) > $errorCount) { 00199 $this->error("Fehler beim Löschen der Log-Einträge:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00200 $erfolg = false; 00201 } else { 00202 $this->writeToLogfile($db->rows_affected." Log-Einträge gelöscht."); 00203 } 00204 $errorCount = count($EZSQL_ERROR); 00205 $db->query("DELETE FROM filetreelayout WHERE folderID IN (".implode(",", $fileIDs) .")"); 00206 if (count($EZSQL_ERROR) > $errorCount) { 00207 $this->error("Fehler beim Löschen der Anzeigeeinstellungen für Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00208 $erfolg = false; 00209 } else { 00210 $this->writeToLogfile($db->rows_affected." Anzeigeeinstellung(en) für Ordner gelöscht."); 00211 } 00212 $errorCount = count($EZSQL_ERROR); 00213 $db->query("DELETE FROM filevisible WHERE fileID IN (".implode(",", $fileIDs) .")"); 00214 if (count($EZSQL_ERROR) > $errorCount) { 00215 $this->error("Fehler beim Löschen der speziellen Sichtbarkeitseinstellungen:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00216 $erfolg = false; 00217 } else { 00218 $this->writeToLogfile($db->rows_affected." spezielle Sichtbarkeitseinstellung(en) gelöscht."); 00219 } 00220 } 00221 return $erfolg; 00222 }
| RessourceAutomation::deleteUser | ( | $ | userID | ) |
Löscht alle Einstellungen und Logdaten des Users, setzt alle Besitzer von vom Benutzer hochgeladenen Ressourcen auf 3.
public
| int | $userID - User-ID |
Definition at line 53 of file class.ressourceautomation.inc.php.
References $db.
00053 { 00054 global $db, $EZSQL_ERROR; 00055 $errorCount = count($EZSQL_ERROR); 00056 $db->query("DELETE FROM filelog WHERE userID=$userID"); 00057 if (count($EZSQL_ERROR) > $errorCount) { 00058 $this->error("Fehler beim Löschen der Log-Einträge:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00059 } else { 00060 $this->writeToLogfile($db->rows_affected." Log-Einträge gelöscht."); 00061 } 00062 $errorCount = count($EZSQL_ERROR); 00063 $db->query("DELETE FROM filetreelayout WHERE userID=$userID"); 00064 if (count($EZSQL_ERROR) > $errorCount) { 00065 $this->error("Fehler beim Löschen der Anzeigeeinstellungen für Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00066 } else { 00067 $this->writeToLogfile($db->rows_affected." Anzeigeeinstellung(en) für Ordner gelöscht."); 00068 } 00069 $errorCount = count($EZSQL_ERROR); 00070 $db->query("DELETE FROM filevisible WHERE userID=$userID"); 00071 if (count($EZSQL_ERROR) > $errorCount) { 00072 $this->error("Fehler beim Löschen der speziellen Sichtbarkeitseinstellungen:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00073 } else { 00074 $this->writeToLogfile($db->rows_affected." spezielle Sichtbarkeitseinstellung(en) gelöscht."); 00075 } 00076 $errorCount = count($EZSQL_ERROR); 00077 $db->query("UPDATE filelist SET userID=3 WHERE userID=$userID"); 00078 if (count($EZSQL_ERROR) > $errorCount) { 00079 $this->error("Fehler beim Aktualisieren des Besitzers der Ressourcen:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00080 } else { 00081 $this->writeToLogfile($db->rows_affected." Besitzer der Ressource(n) aktualisiert."); 00082 } 00083 if (!empty($this->errorString)) return false; 00084 return true; 00085 }
| RessourceAutomation::deleteUserFromCourse | ( | $ | userID, | |
| $ | courseID | |||
| ) |
Löscht alle Einstellungen und Logdaten des Users
public
| integer | $userID - Die ID des neuen Kursteilnehmers | |
| integer | $courseID - Die ID des Kurses |
Definition at line 94 of file class.ressourceautomation.inc.php.
References $db.
00094 { 00095 global $db, $EZSQL_ERROR; 00096 $fileIDs = $db->get_col("SELECT fileID FROM filelist WHERE courseID=$courseID"); 00097 if (is_array($fileIDs)) { 00098 $errorCount = count($EZSQL_ERROR); 00099 $db->query("DELETE FROM filelog WHERE userID=$userID AND fileID IN (".implode(",", $fileIDs) .")"); 00100 if (count($EZSQL_ERROR) > $errorCount) { 00101 $this->error("Fehler beim Löschen der Log-Einträge:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00102 } else { 00103 $this->writeToLogfile($db->rows_affected." Log-Einträge gelöscht."); 00104 } 00105 $errorCount = count($EZSQL_ERROR); 00106 $db->query("DELETE FROM filetreelayout WHERE userID=$userID AND folderID IN (".implode(",", $fileIDs) .")"); 00107 if (count($EZSQL_ERROR) > $errorCount) { 00108 $this->error("Fehler beim Löschen der Anzeigeeinstellungen für Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00109 } else { 00110 $this->writeToLogfile($db->rows_affected." Anzeigeeinstellung(en) für Ordner gelöscht."); 00111 } 00112 $errorCount = count($EZSQL_ERROR); 00113 $db->query("DELETE FROM filevisible WHERE userID=$userID AND fileID IN (".implode(",", $fileIDs) .")"); 00114 if (count($EZSQL_ERROR) > $errorCount) { 00115 $this->error("Fehler beim Löschen der speziellen Sichtbarkeitseinstellungen:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00116 } else { 00117 $this->writeToLogfile($db->rows_affected." spezielle Sichtbarkeitseinstellung(en) gelöscht."); 00118 } 00119 } 00120 if (!empty($this->errorString)) return false; 00121 return true; 00122 }
| RessourceAutomation::newCourse | ( | $ | courseID | ) |
Erstellt die in der config.ini definierten Standard-Hauptordner
public
| integer | $courseID - Die ID des neuen Kurses |
Definition at line 130 of file class.ressourceautomation.inc.php.
References $db.
00130 { 00131 global $db, $dozentID, $EZSQL_ERROR, $settings; 00132 $folders = $settings["default_folders"]; 00133 if (!empty($folders)) { 00134 $errorCount = count($EZSQL_ERROR); 00135 foreach($folders as $folder) { 00136 $folder = str_replace("\\,", $hash = md5(microtime()), $folder); 00137 $folder = explode(",", $folder); 00138 $folderName = str_replace($hash, ",", trim($folder[0])); 00139 if (isset($folder[1])) { 00140 $folderDesc = str_replace($hash, ",", trim($folder[1])); 00141 } else { 00142 $folderDesc = ""; 00143 } 00144 $db->query("INSERT INTO filelist (link, parent_object, name, userID, create_time, courseID, type, visible_type, student_write) "."VALUES ('$folderName', 0, '$folderDesc', '$dozentID', '".time() ."', '$courseID', 'folder', 1, 1)"); 00145 } 00146 if (count($EZSQL_ERROR) > $errorCount) { 00147 $this->error("Fehler beim Erstellen der Default-Ordner:\n".print_r($EZSQL_ERROR[$errorCount], true)); 00148 } else { 00149 $this->writeToLogfile("Default-Ordner erstellt."); 00150 } 00151 } 00152 if (!empty($this->errorString)) return false; 00153 return true; 00154 }
| RessourceAutomation::RessourceAutomation | ( | ) |
1.6.1